package main

import (
	"flag"
	"fmt"
	"os"
)

const UsageString = `Usage: asty <command> [flags]
commands:
  go2json - convert go source to json
  json2go - convert json to go source
  help    - print this message
flags:
`

func a() {
	args := os.Args
	var input, output string
	var indent int
	var comments, positions, references, imports bool
	fs := flag.NewFlagSet("asty", flag.ExitOnError)
	fs.StringVar(&input, "input", "", "input file name (default: stdin)")
	fs.StringVar(&output, "output", "", "output file name (default: stdout)")
	fs.IntVar(&indent, "indent", 0, "indentation level (default: 0)")
	fs.BoolVar(&comments, "comments", false, "include comments (default: false)")
	fs.BoolVar(&positions, "positions", false, "include positions (default: false)")
	fs.BoolVar(&references, "references", false,
		"include references to reuse nodes from multiple places (default: false)")
	fs.BoolVar(&imports, "imports", false,
		"include imports list into output (default: false)")

	var Usage = func(a int, s string) int {
		fmt.Fprint(fs.Output(), UsageString)
		fs.PrintDefaults()
		return a
	}

	if len(args) < 2 {
		fs.Usage()
		return
	}
}

func structure_usage() []string {
	type Node struct {
		Children []string
	}
	node1 := Node{Children: []string{"a", "b"}}
	node2 := Node{[]string{"a", "b"}}
	return node1.Children
}
